#include "paymainwindow.h"
#include "ui_paymainwindow.h"
#include "carmainwindow.h"
#include <QPixmap>

PayMainWindow::PayMainWindow(QWidget *parent, PaymentType type) :  // 构造函数实现
    QMainWindow(parent),
    ui(new Ui::PayMainWindow),
    m_type(type)
{
    ui->setupUi(this);                          // 初始化UI

    // 根据类型设置不同UI
    QString title = (m_type == VIP) ? "VIP支付" : "普通支付";
    setWindowTitle(title);

    // 加载并设置标签图片
    QPixmap pimax = QPixmap("3.bmp");
    pimax = pimax.scaled(ui->label_pay->size());
    ui->label_pay->setPixmap(pimax);


}

PayMainWindow::~PayMainWindow()                 // 析构函数实现
{
    delete ui;                                 // 释放UI资源
}

// 设置支付数据
void PayMainWindow::setData(QString carId, QString enterTimeStr,
                          QString lastTime, int secs, double money)
{
    // 清空原有内容
    ui->textBrowser->clear();

    // 格式化时长
    QString durationStr;
    int hours = secs / 3600;
    int minutes = (secs % 3600) / 60;
    if (hours > 0) {
        durationStr = QString("%1小时%2分钟").arg(hours).arg(minutes);
    } else {
        durationStr = QString("%1分钟").arg(minutes);
    }

    // 显示格式化后的信息
    ui->textBrowser->append("车牌号：" + carId);
    ui->textBrowser->append("进场时间：" + enterTimeStr);
    ui->textBrowser->append("离场时间：" + lastTime);
    ui->textBrowser->append("停车时长：" + durationStr);
    ui->textBrowser->append("停车费用：" + QString::number(money, 'f', 2) + "元");

    // 行编辑器显示汇总信息
    QString summary = QString("停车时长：%1 - 停车费用：%2元%3")
                    .arg(durationStr)
                    .arg(QString::number(money, 'f', 2))
                    .arg(m_type == VIP ? " (VIP)" : "");
    ui->lineEdit->setText(summary);
}

// 按钮点击事件处理
void PayMainWindow::on_pushButton_clicked()
{
    // 获取父窗口指针并显示父窗口，关闭当前窗口
    CarMainWindow *parent = dynamic_cast<CarMainWindow*>(this->parentWidget());
    parent->show();
    this->close();
}
